home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 4 / MacMania 4.toast / / Multimedia & Desktop / gst-shaw-berry / ShawBerry - Read Me < prev   
Text File  |  1993-01-26  |  12KB  |  264 lines

  1. RELEASE NOTES FOR SHAWBERRY...
  2.  
  3.  
  4.  
  5. The usual white noise...
  6.  
  7. This software is named after Kip Shaw, for two very good reasons.
  8. First, it was Kip who got me to do it now, rather than later. And,
  9. second, I keep coming up with ideas for software I fully intend to
  10. name after Kip, only to roll those ideas into the burgeoning Shane
  11. the Plane 2.0 specification. I figured I'd better get the job done
  12. now, rather than take the chance of forgetting to do it later.
  13.  
  14. ShawBerry: Kip and his wife, Faiga, sent our children a load of
  15. wonderful books. Among them was a volume called "Jamberry", by
  16. Bruce Degan, which is great fun to declaim. From there it's not
  17. hard to see how I arrived at this name.
  18.  
  19. We did this now because PixPex, if used in bulk, can create a very
  20. time-consuming editing problem. We discussed a number of ways
  21. around this, but none of them seemed fully satisfactory to me.
  22. Moreover, none of the stop-gap solutions offered aid for other,
  23. similar problems. So: ShawBerry will not only plug PixPexSpex lines
  24. into a file, it will also deal with a host of other text merging
  25. problems. For example: if you have a spreadsheet PRN file that
  26. comes to you in chunks, you can reassemble the rows to the way they
  27. appear within the spreadsheet. Problems such as these are not
  28. terribly common - but they don't _need_ to be for this software to
  29. save you a whale of a lot of time.
  30.  
  31. And: the lines are blurring in my work between quick hacks and
  32. serious utilities. This is a serious piece of software, and yet I
  33. knocked it out in a couple of hours at the end of a long and ugly
  34. day. I'm even prouder of myself than normal (grin), and the pains
  35. we've taken to make modeless an essentially modal function help
  36. ShawBerry to live up to its honorable namesake.
  37.  
  38.  
  39.  
  40. ShawBerry: the nitty gritty details...
  41.  
  42. ShawBerry does this: it merges text from one file into another at
  43. the insertion points you specify. You tell it which file to amend
  44. and which file to take the amendments from. You can control whether
  45. or not the insertion point text is retained or omitted, whether
  46. searchable marks are inserted before and after the amendment text,
  47. and whether or not the amendment is followed by a carriage return.
  48.  
  49. ShawBerry works by interaction _only._ I much prefer to work by
  50. Drag & Drop, but I saw no fail-safe way for the software to
  51. distinguish the Amend file from the Amendment file. Consequently,
  52. you must specify each one interactively, by means of Standard File
  53. dialogs.
  54.  
  55. When you hit the Start button, ShawBerry searches within the Amend
  56. file until it finds the first instance of the Insertion point text.
  57. It then "pastes" in the first line of Amendment text, inserting it
  58. _before_ the Insertion point. The the same thing is done for the
  59. second Insertion point found, pasting the second amendment, and so
  60. on, until the Amend file is completed. A new file (BBEdit 2.2, by
  61. default) is written to disk using a name you specify. 
  62.  
  63. ShawBerry works out of one modeless dialog box, plus the menu bar.
  64. About and Quit are familiar to everyone. The Command key
  65. equivalents for Copy, Paste, and Cut work.
  66.  
  67. At the top of the dialog box is a Text Edit region into which you
  68. specify your Insertion point text. An Insertion point can be up to
  69. 254 characters in length. It consists of _string literals,_ that is
  70. literal case-sensitive text characters with no wildcards. However,
  71. two aliases are permitted: ^t (or ^T) to denote a Tab and ^p (or
  72. ^P) to denote a Carriage Return. An Insertion point is essentially
  73. a search string, and it must reflect text actually present in the
  74. Amend file. If it is absent, you will get an error message and
  75. you'll have the opportunity to fix the mistake. The best way to
  76. assure fault-free performance is to simply Copy the Insertion point
  77. text from the Amend file and Paste it into ShawBerry.
  78.  
  79. The "Amend…" button presents a Standard File dialog that you will
  80. use to specify the file into which you will be "pasting"
  81. amendments.
  82.  
  83. The "Amendment…" button presents a Standard File dialog that you
  84. will use to specify the file from which the amendments will be
  85. "pasted".
  86.  
  87. In other words: the Amend file is _almost_ the way you want it. The
  88. Amendments file contains correction lines that, when "pasted" into
  89. the Amend file, will fix it in the way that you want. Amendments
  90. are written one to a paragraph. Ideally, there should be a
  91. one-to-one correspondece between Insertion points in the Amend file
  92. and amendment lines in the Amendment file. However: in the name of
  93. modelessness, we are permitting you to proceed even if there are
  94. more of one than the other. If there are extra Insertion points,
  95. nothing will be pasted in. If there are extra amendments, they will
  96. be appended in bulk at the end of the file ShawBerry creates.
  97.  
  98. Below the Amend button is a radio button group that controls how
  99. the Insertion point text will be handled in the Amend file. If Omit
  100. text is selected, the Insertion point text will be omitted from the
  101. file ShawBerry creates. If Retain text is selected, the Insertion
  102. point text will be output after the amendment, since amendments are
  103. "pasted" in before the Insertion point. Below, we'll talk about how
  104. to take advantage of this switch.
  105.  
  106. Below the Amendment button are two check boxes which control how
  107. amendments are "pasted" in. If Insert marks is checked, searchable
  108. marks will be inserted immediately before and after the amendment
  109. text. The mark before the amendment is "|[|" (omitting the quote
  110. marks), and the mark after is "|]|". Users of Torquemada's
  111. wildstrings will not need to be told what to do about these, but
  112. I'll be blathering about them later, anyway.
  113.  
  114. If Strip returns is checked, the trailing carriage return that ends
  115. each amendment line is omitted from the file ShawBerry creates.
  116. Since amendment lines must end in a carriage return, so that
  117. ShawBerry can tell one from the next, we need a way to specify
  118. whether the returns are to be included with the amendment, or if
  119. they're simply there as terminators.
  120.  
  121. The Quit button is obvious - I hope! (grin)
  122.  
  123. The Start… button sets the ball in motion. An astounding amount of
  124. error-trapping happens when you hit start, and each error condition
  125. presents a modal dialog telling you what's gone wrong and giving
  126. you a chance to fix it. If you get a message advising you that the
  127. files are too large to fit in the current memory allocation, Quit
  128. from ShawBerry and increase its allocation; ShawBerry will process
  129. arbitrarily large files so long as it has memory enough to fit both
  130. the Amend and Amendment files in RAM simultaneously.
  131.  
  132. Finally, ShawBerry is 32-bit clean, multi-finder friendly, Apple
  133. Human Interface Guidelines loyal, System 6 or 7 brave,
  134. external-application courteous, and it possesses many other fine
  135. qualities associated with Boy Scouts and software by me.
  136. Incidentally, ShawBerry does _not_ feature the understated yet
  137. strangely exotic Movado Museum watch cursor, since it's too damn
  138. fast to need it. Also incidentally, ShawBerry makes use of
  139. technology that will, someday, make it possible for Torquemada to
  140. run without a watch cursor...
  141.  
  142.  
  143.  
  144. ShawBerry in real life...
  145.  
  146. I think it might be better if the universe were asequential...
  147.  
  148. I had to spew out all of the above static in order to get to this
  149. static. The details above make no sense without this as context,
  150. but this context would make no sense without the above details to
  151. refer back to. So: either we rewrite the time functions to permit
  152. optional randomization, or I'm going to have to get someone else to
  153. write docs for me... (grin)
  154.  
  155. All right, look at it: here's Kip's problem: he has a file of text
  156. that is flagged with text like this: "[PICTURE 1]", "[PICTURE 2]",
  157. "[PICTURE 3]". He want to paste an Xtags picture box specification
  158. in each of those spots. Surprise!: a PixPexSpex… file is a
  159. perfectly formatted Amendment file, as is (assuming he clicked on
  160. the pictures in the right order). So he could do two things:
  161.  
  162. 1. Run a Torquemada set like this
  163.  
  164. [PICTURE ^#^?]
  165. [PICTURE]
  166.  
  167. which makes the flags searchably consistent. Then he specifies
  168. "[PICTURE]" as his Insertion point in ShawBerry, hits Omit text,
  169. unchecks Insert marks and checks Strip returns, specifies the
  170. Torqued file as his Amend file and the PixPexSpex… file as his
  171. Amendment file. Presto! Done...
  172.  
  173. 2. Alternatively, he could specify "[PICTURE " as his Insertion
  174. point and run on the _original_ file, with Insert marks checked,
  175. then Torque like this:
  176.  
  177. |[|^?|]|^*]
  178. ^?
  179.  
  180. to remove the marks and the leftover text.
  181.  
  182. That's what the marks are for, to make uniquely searchable
  183. Torquemada strings. You can also use them in conjunction with your
  184. word processor to make sure that what you got is what you wanted.
  185.  
  186. Here's more: in the TorqueManual, I talk about how to take text set
  187. in multiple columns and break it up into one long column. Suppose
  188. you want to do the opposite? Why? Life is like that sometimes. I've
  189. has people send me PRN files from _very_ wide spreadsheet files.
  190. The spreadsheet software would only permit PRN files to be ±140
  191. characters wide, so the spreadsheets would be segmented in vertical
  192. chunks, perfectly useless. I've also had parallel database reports
  193. that needed to be merged into one horizontal line of data. And I've
  194. had situations where lines from separate files needed to be blended
  195. as alternating paragraphs. All of these are duck soup for
  196. ShawBerry.
  197.  
  198. Take the spreadsheets (please!): the Amend file would be the left
  199. chunk, the Amendment file the next chunk to the right (with the
  200. procedure repeated for any additional chunks). The insertion point
  201. is "^p", the end of the line, soldier. We'll Retain text and Strip
  202. returns, although we could do just the opposite. Better the former
  203. if we Insert marks, as we mght want to do in order to verify and
  204. clean-up the formatting.
  205.  
  206. And the blended paragraphs: Insertion point is "^p", Retain text,
  207. uncheck Strip returns. Voila!
  208.  
  209.  
  210.  
  211. Wave bye-bye...!
  212.  
  213. That's it, I think. This solves Kip's immediate problem in a way
  214. that makes sense to me: I think both Kip and I are commited to
  215. having all of the work done _before_ text is imported, so this
  216. stands a fair chance of eliminating some delays from the process.
  217. Moreover, it makes it possible to do generalized merging for any
  218. data processing purpose. In conjunction with Torquemada, it makes a
  219. formidable tool. When I finally get around to doing Shane the Plane
  220. 2.0, that will come into play, too, and I think Kip will have words
  221. for all of us on how to use Shane, Caesura, Torquemada, ShawBerry
  222. and other stuff to achieve some really impressive hands-off text
  223. massage...
  224.  
  225.  
  226.  
  227. Very Best,
  228.  
  229.  
  230.  
  231. Greg Swann
  232.  
  233. CIS: 70640,1574
  234.  
  235. USPS: P.O. Box 1724
  236.       Andover, MA 01810
  237.  
  238. 1/23/93
  239.  
  240.  
  241.  
  242.  
  243. THE INEVITABLE ADDENDUM REGARDING VERSION 1.0.1
  244.  
  245. Kip caught a nasty little logic error in version 1.0.0. I'm not
  246. going to tell you what it was because it's so stupid it's
  247. embarrassing (no grin). In any case, it's fixed in this version.
  248. Because I don't like mere bug fix releases, I added a Preferences
  249. menu alike unto Shane the Plane and Clip 'n' Save. When you Save
  250. preferences, the switch settings and the Insertion point text are
  251. saved. So if you have a default way of working, save the whole
  252. thing as your prefs and they will come up with each launch.
  253.  
  254. (Res Edit Hacks only: you can have two sets of prefs like this: set
  255. up one set and Save, Quit, from ResEdit copy the contents of PREF
  256. 129 into PREF 128, launch ShawBerry and set up another set of prefs
  257. and Save again (which, of course, overwrites PREF 129); now the
  258. first set is available from Restore defaults, and the second comes
  259. up at launch time and when you Restore saved prefs; this general
  260. procedure will work with any app of mine that has a Preferences
  261. menu.)
  262.  
  263. 1/26/93
  264.